package com.doupi.partner.dal.model;

import java.io.Serializable;
import java.util.Date;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * com.xletou.generator.codegen.mybatis3.IntrospectedTableMyBatisImpl@76f9e000 
 */
public class AdministratorPermission implements Serializable {
    private static final long serialVersionUID = -1641077640793625856L;

    /**
     * ID自增长
     */
    private Long id;

    /**
     * 权限名称
     */
    private String name;

    /**
     * 权限类型 1 menu菜单 2 button 按钮
     */
    private Byte type;

    /**
     * 访问url
     */
    private String url;

    /**
     * 权限code
     */
    private String code;

    /**
     * 父类id
     */
    private Long parentId;

    /**
     * id路径 /parentId/parentId
     */
    private String idPath;

    /**
     * 排序索引越大越在上面
     */
    private Byte orderIndex;

    /**
     * 状态 0不可用 1可用
     */
    private Byte status;

    /**
     * 创建管理员id
     */
    private Long createAdministratorId;

    /**
     * 最新更新管理员id
     */
    private Long updateAdministratorId;

    /**
     * 创建时间，自动设置当前时间，程序不需要设置
     */
    private Date createTime;

    /**
     * 更新时间，自动更新为当前时间，程序不需要设置
     */
    private Date updateTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Byte getType() {
        return type;
    }

    public void setType(Byte type) {
        this.type = type;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public String getIdPath() {
        return idPath;
    }

    public void setIdPath(String idPath) {
        this.idPath = idPath;
    }

    public Byte getOrderIndex() {
        return orderIndex;
    }

    public void setOrderIndex(Byte orderIndex) {
        this.orderIndex = orderIndex;
    }

    public Byte getStatus() {
        return status;
    }

    public void setStatus(Byte status) {
        this.status = status;
    }

    public Long getCreateAdministratorId() {
        return createAdministratorId;
    }

    public void setCreateAdministratorId(Long createAdministratorId) {
        this.createAdministratorId = createAdministratorId;
    }

    public Long getUpdateAdministratorId() {
        return updateAdministratorId;
    }

    public void setUpdateAdministratorId(Long updateAdministratorId) {
        this.updateAdministratorId = updateAdministratorId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public boolean equals(Object that) {
        return EqualsBuilder.reflectionEquals(this, that);
    }

    @Override
    public int hashCode() {
        return HashCodeBuilder.reflectionHashCode(this);
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
    }
}